package com.xmltest.demo.query;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.Iterator;

/**
 * @author xuehu
 * @date 2021/2/26 14:13
 */
//查询xml内容
public class Query {
    public static void main(String[] args) throws DocumentException {
        /**
         * 1.我们要解析xml
         * 重点学校xml的增删改查
         * 但是我们要用到的是dom4j技术
         * 由于dom4j是一个框架,所以我们要导入jar包
         *      1.创建dom4j的解析器
         *      2.通过这个解析器来读取一个xml文件
         *      3.把文件变成一个root根元素
         */
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read(new File("java-xml/student.xml"));

        String asXML = document.asXML(); //开发中并没有什么用
        System.out.println(asXML);

        //获取根标签
        Element rootElement = document.getRootElement();
        System.out.println(rootElement);

        for (Iterator i = rootElement.elementIterator(); i.hasNext(); ) {
            //获取到student标签
            Element student = (Element) i.next();
            System.out.println(student.getName());
            //获取属性值id
            String id = student.attributeValue("id");
            System.out.println(id);
            //获取name标签
            Element element = student.element("name");
            //获取name标签的值
            String name = student.elementText("name");
            System.out.println(name);
            //获取age标签的值
            String age = student.elementText("age");
            System.out.println("学生的学号为:" + id + ", 姓名为:" + name + ",年龄为:" + age);


        }

    }
}
